home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 5 / Apprentice-Release5.iso / Demos / Evatac Software / Preditor 3.0 / Tools / Language Module Builder / Sources / CParse.h < prev    next >
Encoding:
C/C++ Source or Header  |  1995-12-17  |  3.2 KB  |  131 lines  |  [TEXT/TCEd]

  1. /************************************************************
  2.  
  3.     Parse.h
  4.     C Source to Preditor 3
  5.  
  6.     © Copyright Evatac Software  1988-1995
  7.     All rights reserved
  8.  
  9. ************************************************************/
  10.  
  11. #ifndef __PARSERH__
  12. #define __PARSERH__
  13.  
  14. #include "LanguageModule.h"
  15.  
  16. /*
  17.  * * * * * * * * * CONSTANTS AND MACRO DEFINITIONS * * * * * * * * * *
  18.  */
  19.  
  20. /* 
  21.  * Here are the token type we return
  22.  */
  23.  
  24. enum {
  25.     kFunction        = 0,
  26.     kKeyword,
  27.     kComment,
  28.     kCustomKeyword,
  29.     kDisabled,
  30.     kDirective
  31. };
  32.  
  33. enum {
  34.     kSymbolLeftParen        = '(',    /* ( */
  35.     kSymbolRightParen        = ')',    /* ) */
  36.     kSymbolLeftHard            = '[',    /* [ */
  37.     kSymbolRightHard        = ']',    /* ] */
  38.     kSymbolLeftBrace        = '{',    /* { */
  39.     kSymbolRightBrace        = '}',    /* } */
  40.     kSymbolBackSlash        = '\\',    /* \ */
  41.     kSymbolQuote             = '\'',    /* ' */
  42.     kSymbolDoubleQuote        = '\"',    /* " */
  43.     kSymbolPound            = '#',    /* # */
  44.     kSymbolSemiColon        = ';',    /* ; */
  45.     kSymbolCommon            = ',',    /* , */
  46.     kSymbolDot                = '.',    /* . */
  47.     kSymbolColon            = ':',    /* : */
  48.     kSymbolAssign            = '=',    /* = */
  49.     kSymbolNot                = '!',    /* ! */
  50.     kSymbolMod                = '%',    /* % */
  51.     kSymbolXOr                = '^',    /* ^ */
  52.     kSymbolAnd                = '&',    /* & */
  53.     kSymbolStar                = '*',    /* * */
  54.     kSymbolMinus            = '-',    /* - */
  55.     kSymbolPlus                = '+',    /* + */
  56.     kSymbolBar                = '|',    /* | */
  57.     kSymbolComplement        = '~',    /* ~ */
  58.     kSymbolLess                = '<',    /* < */
  59.     kSymbolGreater            = '>',    /* > */
  60.     kSymbolQuestion            = '?',    /* ? */
  61.     kSymbolDivide            = '/',    /* / */
  62.  
  63.     kSymbolFirstCompoundSymbol = 300,
  64.     kSymbolPointer = 300,            /* -> */
  65.     kSymbolDotStar,                    /* .*  */
  66.     kSymbolPointerStar,                /* ->* */
  67.     kSymbolPlusPlus,                /* ++  */
  68.     kSymbolMinusMinus,                /* --  */
  69.     kSymbolLeftShift,                /* <<  */
  70.     kSymbolRightShift,                /* >>  */
  71.     kSymbolLessOrEqual,                /* <=  */
  72.     kSymbolGreaterOrEqual,            /* >=  */
  73.     kSymbolEqual,                    /* ==  */
  74.     kSymbolNotEqual,                /* !=  */
  75.     kSymbolAndAnd,                    /* &&  */
  76.     kSymbolOrOr,                    /* ||  */
  77.     kSymbolMultiplyAssign,            /* *=  */
  78.     kSymbolDivideAssign,            /* /=  */
  79.     kSymbolModAssign,                /* %=  */
  80.     kSymbolPlusAssign,                /* +=  */
  81.     kSymbolMinusAssign,                /* -=  */
  82.     kSymbolLeftShiftAssign,            /* <<= */
  83.     kSymbolRightShiftAssign,        /* >>= */
  84.     kSymbolAndAssign,                /* &=  */
  85.     kSymbolXOrAssign,                /* ^=  */
  86.     kSymbolOrAssign,                /* |=  */
  87.     kSymbolScope,                    /* ::  */
  88.     kSymbolEllipsis,                /* ... */
  89.     kSymbolPoundPound,                /* ##  */
  90.  
  91.     kSymbolTrigraphPound,            /* ??= */
  92.     kSymbolTrigraphBackSlash,        /* ??/ */
  93.     kSymbolTrigraphXOr,                /* ??' */
  94.     kSymbolTrigraphLeftHard,        /* ??( */
  95.     kSymbolTrigraphRightHard,        /* ??) */
  96.     kSymbolTrigraphBar,                /* ??! */
  97.     kSymbolTrigraphUnknown,            /* ?? something */
  98.     kSymbolLastCompoundSymbol,
  99.  
  100.     kSymbolFirstSpecial = 400,
  101.     kSymbolIdentifier = 400,
  102.     kSymbolIntConstant,
  103.     kSymbolCharConstant,
  104.     kSymbolFloatConstant,
  105.     kSymbolStringLiteral,
  106.     kSymbolWhiteSpace,
  107.     kSymbolComment,
  108.     kSymbolPreprocessorDirective,
  109.     kSymbolInclude,
  110.     kSymbolLastSpecial,
  111.  
  112.     kSymbolReservedWord = 500,
  113.     kSymbolCustomWord
  114. };
  115.  
  116. /*
  117.  * * * * * * * * * TYPE AND STRUCTURE DEFINITIONS * * * * * * * * * *
  118.  */
  119.  
  120. /*
  121.  * * * * * * * * * FUNCTION PROTOTYPES * * * * * * * * * *
  122.  */
  123.  
  124. /*
  125.  * * * * * * * * * FUNCTIONS IMPLEMENTED AS MACROS * * * * * * * *
  126.  */
  127.  
  128.  
  129. #endif
  130.  
  131.